/**

 @Name：layuiAdmin 内容系统
 @Author：star1029
 @Site：http://www.layui.com/admin/
 @License：LPPL
    
 */


layui.define(['table', 'form','layer','upload'], function(exports){
  var $ = layui.$
  ,admin = layui.admin
  ,view = layui.view
  ,table = layui.table
  ,layer = layui.layer
  ,form = layui.form
  ,upload=layui.upload;
  //文章管理
  table.render({
    elem: '#LAY-app-content-list'
    	
    ,url: 'product/findAll.do' //模拟接口
    ,cols: [[
        {type: 'checkbox'}
        ,{field: 'id', width: 100, title: '商品ID', sort: true}
        ,{field: 'pname', title: '商品名称', minWidth: 100}
        ,{field: 'unitPrice', title: '商品单价'}
       /* ,{field: 'url', title: '图片',templet:function(d){
      	  return "<img src='../img/"+d.url+"' />";
        }}*/
        
        ,{field: '', title: '图片',width:130,templet:function(d){
      	  return "<img src='/file/"+d.url+"' lay-event='upload'  />";
        }}

        ,{field: 'details', title: '详情', sort: true}
        ,{field: 'stock', title: '库存'}
        ,{field: '', title: '是否上架',templet:function(d){
      	  if(d.isPutOnSale=="是"){
      		  return '<input type="checkbox" param="'+d.id+'" lay-filter="putOn" name="isPutOnSale" lay-skin="switch" checked  lay-text="是|否">';
      	  }else{
      		  return '<input type="checkbox" param="'+d.id+'" lay-filter="putOn" name="isPutOnSale" lay-skin="switch"   lay-text="是|否">';
      	  }
        }}
        ,{field: '', title: '今日必抢',templet:function(d){
      	  if(d.isToday=="是"){
      		  return '<input type="checkbox" param="'+d.id+'" lay-filter="today" name="isToday" lay-skin="switch" checked  lay-text="是|否">';
      	  }else{
      		  return '<input type="checkbox" param="'+d.id+'" lay-filter="today" name="isToday" lay-skin="switch"   lay-text="是|否">';
      	  }
        }}
  			,{field: 'categoryId', title: '分类',templet:function(d){
				return d.category.name
			}}

  			,{title: '操作', minWidth: 150, align: 'center',  toolbar: '#table-content-list'}
      ]]

    ,page: true
    ,limit: 10
    ,limits: [10, 15, 20, 25, 30],
  // 数据渲染完的回调
  done: function (res, curr, count) {
      $(".layui-table-cell").css("height", "100%");
    
  }
  });
  
  
//监听上下架开关事件
  form.on('switch(putOn)', function(data){
	  console.log(data.elem); //得到checkbox原始DOM对象
	  console.log(data.elem.checked); //开关是否开启，true或者false
	  console.log(data.value); //开关value值，也可以通过data.elem.value得到
	  console.log(data.othis); //得到美化后的DOM对象
	  
	  //attr设置或读取一个jquery对象的属性值，prop只有一个参数时是读取，2个参数时是设置
	  $.post(
		"product/putOn.do",
		{
			id:$(data.elem).attr("param"),
			isPutOnSale:data.elem.checked?"是":"否"
		},function(res){
			if(res==1){
				layer.msg("操作成功");
			}else{
				layer.msg("操作失败");
			}
		},'json'
	  );
	}); 
  
  //监听推荐/取消推荐开关事件
  form.on('switch(today)', function(data){
	  console.log(data.elem); //得到checkbox原始DOM对象
	  console.log(data.elem.checked); //开关是否开启，true或者false
	  console.log(data.value); //开关value值，也可以通过data.elem.value得到
	  console.log(data.othis); //得到美化后的DOM对象
	  
	  $.post(
				"product/recommend.do",
		{
			id:$(data.elem).attr("param"),
			isToday:data.elem.checked?"是":"否"
		},function(res){
			if(res==1){
				layer.msg("操作成功");
			}else{
				layer.msg("操作失败");
			}
		},'json'
	  );
	  
	}); 
  
  
  
  
  //监听工具条
  table.on('tool(LAY-app-content-list)', function(obj){
    var data = obj.data;
    if(obj.event === 'del'){
      layer.confirm('确定删吗？', function(index){
    	 // console.log(data.id);
    	  $.post("product/del.do",
    			  {id:data.id},
    			
    			  function(res){
    		  console.log(data);
    		  if(res==1){
     			layer.msg("删除成功")
     			}else{
     				layer.msg("删除失败")
     				
     			}
    		  
    	  },'json'
    	  )
    	  
    	  
    	  
    	  
    	  
    	  
    	  
        obj.del();
        layer.close(index);
      });
    }else if(obj.event === 'upload'){
    	
    
    	
		admin.popup({
	        title: '修改主图片'
	        ,area: ['600px', '600px']
	        ,id: 'LAY-popup-content-upload'
	        ,success: function(layero, index){
	          view(this.id).render('app/content/upload', data).done(function(){
	        	console.log(data)//当前行数据
	        	var path;//存储上传文件路径
	        	//显示预览图
	        	$("#upload").attr("src","/file/"+data.url);
	        	//绑定upload组件
	        	var uploadInst = upload.render({
        		    elem: '#test1' //绑定元素
        		    ,url: 'product/upload.do' //上传接口
        		    ,done: function(res){
        		      //上传完毕回调
        		    	path = res.data;
        		    	$("#upload").attr("src","/file/"+path);
        		    	
        		    	
        		    }
        		    ,error: function(){
        		      //请求异常回调
        		    	layer.msg("上传失败，请重新上传");
        		    }
        		});
	        	
	            form.render(null, 'layuiadmin-app-form-list');
	            
	            //监听提交
	            form.on('submit(layuiadmin-app-form-submit)', function(d){
	              var field = d.field; //获取提交的字段

	              //提交 Ajax 成功后，关闭当前弹层并重载表格
	              //$.ajax({});
	              $.post(
	            	"product/updateUrl.do",
	            	{
	            		id:data.id,
	            		url:path
	            	},function(res){
	            		layui.table.reload('LAY-app-content-list'); //重载表格
	  	              	layer.close(index); //执行关闭
	            	},"json"
	              );
	               
	            });
	          });
	        }
	      });
    } else if(obj.event === 'edit'){
      admin.popup({
        title: '编辑商品'
        ,area: ['550px', '550px']
        ,id: 'LAY-popup-content-edit'
        ,success: function(layero, index){
          view(this.id).render('app/content/listform', data).done(function(){
        	  
        	  console.log(data)//当前行数据
        	  
        	  //加载分类信息
        	  
        	  $.post(
        			"category/findAll.do" ,
        			function(res){
        				$(res.data).each(function(){
        					//创建一个下拉选项
        					
        					var option=$('<option value="'+this.id+'">'+this.name+'</option>');
        					//将下拉选项追加到下拉框中
        					$("#category2").append(option);
        					
        				});
        				
        				form.render('select'); //刷新select选择框渲染
        				form.val("layuiadmin-app-form-list", data);
        				
        			},'json'
        	  
        	  )
        	  
        	  
        	  //回显数据
                		
        	  
        	  
        	  
            form.render(null, 'layuiadmin-app-form-list');
            
            //监听提交
            form.on('submit(layuiadmin-app-form-submit)', function(data){
              var field = data.field; //获取提交的字段
              
              

              //提交 Ajax 成功后，关闭当前弹层并重载表格
              //$.ajax({});
              
              $.post("product/addOrEdit.do",
            		  field,function(res){
            	  if(res==1){
       				layui.table.reload('LAY-app-content-list'); //重载表格
                    layer.close(index); //执行关闭 
       			}
            	  
              },'json'
              );
              
              
              
              
              
              
              
              layui.table.reload('LAY-app-content-list'); //重载表格
              layer.close(index); //执行关闭 
            });
          });
        }
      });
    }
  });

  //分类管理
  table.render({
	    elem: '#LAY-app-content-tags'
	    ,url: 'category/findAll.do' //模拟接口
	    ,cols: [[
	      {field: 'id', width: 100, title: 'ID', sort: true}
	      ,{field: 'name', title: '分类名', minWidth: 100}
	      ,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#layuiadmin-app-cont-tagsbar'}
	    ]]
	    ,text: '对不起，加载出现异常！'
	    	 // 数据渲染完的回调
	    	 , done: function (res, curr, count) {
	    	      $(".layui-table-cell").css("height", "100%");
	    	  }
	  });
  
  //监听工具条
  table.on('tool(LAY-app-content-tags)', function(obj){
    var data = obj.data;
    if(obj.event === 'del'){
      layer.confirm('确定删除此分类？', function(index){
    	  
    	  $.post(
    	    		"category/del.do?id="+data.id,
    	    		function(res){
    	    			if(res>0){
    	    				obj.del();
    	    				layer.close(index);
    	    			}
    	    		},"json"
    	    	);
    	  
    	  
        
        
      });
    } else if(obj.event === 'edit'){
        admin.popup({
            title: '编辑分类'
            ,area: ['450px', '200px']
            ,id: 'LAY-popup-content-tags'
            ,success: function(layero, index){
              view(this.id).render('app/content/tagsform', data).done(function(){
                form.render(null, 'layuiadmin-form-tags');
                
                //数据回显
                form.val('layuiadmin-form-tags',data);
                //监听提交
                form.on('submit(layuiadmin-app-tags-submit)', function(d){
                  var field = d.field; //获取提交的字段
                  //提交 Ajax 成功后，关闭当前弹层并重载表格
                  //$.ajax({});
                  $.post(
                	"category/edit.do",
                	{name:field.name,
                	id:data.id},
                	function(res){
                		
                		
                		if(res>0){
                			layer.msg("修改成功");
                			layui.table.reload('LAY-app-content-tags'); //重载表格
                			layer.close(index); //执行关闭 
                		}else{
                			layer.msg("修改失败");
                		}
                	},"json"
                  );
                });
              });
            }
          });
        }
  });

  //订单管理
  table.render({
    elem: '#LAY-app-content-comm'
    ,url: 'orders/findAll.do' //模拟接口
    ,cols: [[
    	 /*{type: 'checkbox'}
         ,*/{field: 'id', width: 100, title: '订单号', sort: true}
         ,{field: 'payDate', title: '下单时间', minWidth: 100}
         ,{field: '', title: '下单人', minWidth: 100, templet:function(d){
       	  return d.user.name;
         }}
         ,{field: '', title: '订单状态',templet:function(d){
       	  if(d.orderState=="未发货")
       		  return d.orderState+"&nbsp;&nbsp;&nbsp;"+'<a class="layui-btn layui-btn-xs" lay-event="send"><i class="layui-icon layui-icon-release"></i>发货</a>';
       	  else{
       		  return d.orderState;
       	  }
         }}
         ,{field: 'totalMoney', title: '订单金额'}
         ,{field: '', title: '收获地址', minWidth: 100,templet:function(d){
       	  return d.address.province+d.address.city+d.address.detail+" "+d.address.name+" "+d.address.phone
         }}
         ,{title: '操作', width: 180, align: 'center', fixed: 'right', toolbar: '#table-content-com'}
       ]]
    ,page: true
    ,limit: 10
    ,limits: [10, 15, 20, 25, 30]
    , // 数据渲染完的回调
    done: function (res, curr, count) {
        $(".layui-table-cell").css("height", "100%");
    }
  });
  
  //监听工具条
  table.on('tool(LAY-app-content-comm)', function(obj){
    var data = obj.data;
    if(obj.event === 'send'){
        admin.popup({
          title: '发货'
          ,area: ['450px', '300px']
          ,id: 'LAY-popup-orders-send'
          ,success: function(layero, index){
            view(this.id).render('app/content/send', data).done(function(){
              form.render(null, 'layuiadmin-form-send');
              
              //监听提交
              form.on('submit(layuiadmin-app-com-submit)', function(d){
                var field = data.field; //获取提交的字段

                //提交 Ajax 成功后，关闭当前弹层并重载表格
                //$.ajax({});
                
                $.post(
                    	"orders/send.do?id="+data.id,
                    	function(res){
                    		layui.table.reload('LAY-app-content-comm'); //重载表格
                    		layer.close(index); //执行关闭 
                    	},"json"
                      );
              });
            });
          }
        });
      }else if(obj.event === 'details'){//订单详情
    	  
    	 // alert(data.id);
    	  
    	  
          admin.popup({
              title: '订单详情'
            	  
              ,area: ['800px', '500px']
              ,id: 'LAY-popup-content-comm'
              ,success: function(layero, index){
                view(this.id).render('app/content/orderdetails', data).done(function(){
              	  //加载订单详情数据
              	  table.render({
          		    elem: '#demo'
          		    	
          		    ,url: 'orders/findOrderDetail.do?oid='+data.id //数据接口
          		    ,cols: [[ //表头
          		    	{field: '', title: '图片',width:130,templet:function(d){
          		      	  return "<img src='/file/"+d.p.url+"' lay-event='upload'  />";
          		        }}
          		      ,{field: '', title: '商品名',templet:function(d){
          		    	  return d.p.pname;
          		      }}
          		      ,{field: '', title: '单价',templet:function(d){
          		    	  return d.p.unitPrice;
          		      }} 
          		      ,{field: 'num', title: '购买数量'}
          		      ,{field: '', title: '小计',templet:function(d){
          		    	  return d.p.unitPrice*d.num;
          		      }}
          		    ]]
              	 // 数据渲染完的回调
              	  ,done: function (res, curr, count) {
              	      $(".layui-table-cell").css("height", "100%");
              	  }
          		  });
                });
              }
            });
          }else if(obj.event === 'edit'){
        admin.popup({
          title: '修改地址'
          ,area: ['550px', '550px']
          ,id: 'LAY-popup-content-comm'
          ,success: function(layero, index){
            view(this.id).render('app/content/contform', data).done(function(){
              form.render(null, 'layuiadmin-form-comment');
              
              form.val('layuiadmin-form-comment',{
            	  
            	  province:data.address.province,
            	  city:data.address.city,
            	  detail:data.address.detail,
            	  name:data.address.name,
            	  phone:data.address.phone
            	  
              
              });
              //监听提交
              form.on('submit(layuiadmin-app-com-submit)', function(d){
                var field = d.field; //获取提交的字段

                //提交 Ajax 成功后，关闭当前弹层并重载表格
                //$.ajax({});
                
                $.post(
                    	"orders/address.do?id="+data.id,
                    	field,
                    	function(res){
                    		
                    		if(res>0){
                    			layer.msg("修改成功");
                    		layui.table.reload('LAY-app-content-comm'); //重载表格
                    		layer.close(index); //执行关闭 
                    		}else{
                    			
                    			layer.msg("修改失败");
                    		}
                    	},"json"
                      );
                
                
                
                
                layui.table.reload('LAY-app-content-comm'); //重载表格
                layer.close(index); //执行关闭 
              });
            });
          }
        });
      }
    
    
    
    
    
    
    
    
    
    
  });

  exports('contlist', {})
});